"""
@Project ：python
@File    ：10-综合案例.py
@IDE     ：PyCharm
@Author  ：DongCha
@Date    ：2024/4/10 010 19:47
"""

from file_define import FileReader, TextFileReader, JsonFileReader
from data_define import Record
from pyecharts.charts import Bar
from pyecharts.options import *
from pyecharts.globals import ThemeType

text_file_reader = TextFileReader("2011年1月销售数据.txt")
json_file_reader = JsonFileReader("2011年2月销售数据JSON.txt")

jan_data: list[Record] = text_file_reader.read_data()
feb_data: list[Record] = json_file_reader.read_data()

# 两份数据合并为一个list
all_data: list[Record] = jan_data + feb_data

# 数据计算
data_dict = {}  # key为日期，values为销售额
for record in all_data:
    if record.date in data_dict.keys():
        # 获取老数据进行累计
        data_dict[record.date] += record.money
    else:
        data_dict[record.date] = record.money

# 创建柱状图
bar = Bar(init_opts=InitOpts(theme=ThemeType.LIGHT))
bar.add_xaxis(list(data_dict.keys()))
bar.add_yaxis("销售额", list(data_dict.values()), label_opts=LabelOpts(is_show=False))
bar.set_global_opts(
    title_opts=TitleOpts(title="每日销售额")
)
bar.render("每日销售额.html")
